/**
* @author afeng
* @Date 2025-03-20 15:47:25
* @description 通话记录
*/
package com.monitor.model;

import com.monitor.pubInter.BaseTimeDoMain;
import java.util.Date;
import javax.validation.constraints.*;
import org.hibernate.validator.constraints.Length;

public class CallRecords extends BaseTimeDoMain {
    /**
     * 排序
     */
    private Integer sortNum = 0;

    /**
     * 是否显示
     * 1:是:Y,0:否:N
     */
    private Integer showFlag = 1;

    /**
     * 是否删除
     * 1:删除:Y,0:正常:N
     */
    private Integer delFlag = 0;

    /**
     * 云客用户id
     */
    @Length(max=50,message="云客用户id长度最大值50")
    private String ykUserId;

    /**
     * 用户手机号
     */
    @Length(max=20,message="用户手机号长度最大值20")
    private String userPhone;

    /**
     * 用户姓名
     */
    @Length(max=50,message="用户姓名长度最大值50")
    private String userName;

    /**
     * 客户id
     */
    @Length(max=50,message="客户id长度最大值50")
    private String customerId;

    /**
     * 云客客户id
     */
    @Length(max=50,message="云客客户id长度最大值50")
    private String ykCustomerId;

    /**
     * 云客通话id
     */
    @Length(max=50,message="云客通话id长度最大值50")
    private String ykId;

    /**
     * 客户id
     */
    @Length(max=50,message="客户id长度最大值50")
    private String phone;

    /**
     * 用户id
     */
    @Length(max=50,message="用户id长度最大值50")
    private String userId;

    /**
     * 通话时长
     */
    private Integer duration;

    /**
     * 通话录音下载地址
     */
    @Length(max=250,message="通话录音下载地址长度最大值250")
    private String recordUrl;

    /**
     * 二级标签
     */
    @Length(max=50,message="二级标签长度最大值50")
    private String tipName;

    /**
     * 一级标签id（可自定义)
     */
    @Length(max=200,message="一级标签id（可自定义)长度最大值200")
    private String tipType;

    /**
     * 备注信息
     */
    @Length(max=250,message="备注信息长度最大值250")
    private String remark;

    /**
     * 0呼出 1呼入 
     */
    private Integer direction;

    /**
     * 预约下次沟通时间
     */
    @Length(max=50,message="预约下次沟通时间长度最大值50")
    private String nextContactTime;

    /**
     * 员工外呼SIM卡号码
     */
    @Length(max=20,message="员工外呼SIM卡号码长度最大值20")
    private String simPhone;

    /**
     * 员工外呼SIM卡的ICCID
     */
    @Length(max=20,message="员工外呼SIM卡的ICCID长度最大值20")
    private String simNumber;

    /**
     * 响铃时长
     */
    private Integer ringSecond;

    /**
     * 开始响铃时间
     */
    private Date ringTime;

    /**
     * 录音是否上传 0未上传 1已上传（未接通的通话显示为未上传)
     */
    private Integer isUpload;

    /**
     * 开始通话的时间
     */
    private Date startCallTime;

    /**
     * 通话的来源
     */
    private Integer recordFrom;

    /**
     * 客户姓名
     */
    @Length(max=50,message="客户姓名长度最大值50")
    private String customerName;

    /**
     * 
     */
    @Length(max=20,message="timelineType长度最大值20")
    private String timelineType;

    /**
     * 
     */
    @Length(max=50,message="through长度最大值50")
    private String through;

    /**
     * 
     */
    private Integer progress;

     /**
     *主键
     */
    public static final String ID = "call_records.cr_id";

     /**
     *创建时间
     */
    public static final String CREATE_TIME = "call_records.cr_create_time";

     /**
     *更新时间
     */
    public static final String UPDATE_TIME = "call_records.cr_update_time";

     /**
     *排序
     */
    public static final String SORT_NUM = "call_records.cr_sort_num";

     /**
     *是否显示
     */
    public static final String SHOW_FLAG = "call_records.cr_show_flag";

     /**
     *是否删除
     */
    public static final String DEL_FLAG = "call_records.cr_del_flag";

     /**
     *云客用户id
     */
    public static final String YK_USER_ID = "call_records.cr_yk_user_id";

     /**
     *用户手机号
     */
    public static final String USER_PHONE = "call_records.cr_user_phone";

     /**
     *用户姓名
     */
    public static final String USER_NAME = "call_records.cr_user_name";

     /**
     *客户id
     */
    public static final String CUSTOMER_ID = "call_records.cr_customer_id";

     /**
     *云客客户id
     */
    public static final String YK_CUSTOMER_ID = "call_records.cr_yk_customer_id";

     /**
     *云客通话id
     */
    public static final String YK_ID = "call_records.cr_yk_id";

     /**
     *客户id
     */
    public static final String PHONE = "call_records.cr_phone";

     /**
     *用户id
     */
    public static final String USER_ID = "call_records.cr_user_id";

     /**
     *通话时长
     */
    public static final String DURATION = "call_records.cr_duration";

     /**
     *通话录音下载地址
     */
    public static final String RECORD_URL = "call_records.cr_record_url";

     /**
     *二级标签
     */
    public static final String TIP_NAME = "call_records.cr_tip_name";

     /**
     *一级标签id（可自定义)
     */
    public static final String TIP_TYPE = "call_records.cr_tip_type";

     /**
     *备注信息
     */
    public static final String REMARK = "call_records.cr_remark";

     /**
     *0呼出 1呼入 
     */
    public static final String DIRECTION = "call_records.cr_direction";

     /**
     *预约下次沟通时间
     */
    public static final String NEXT_CONTACT_TIME = "call_records.cr_next_contact_time";

     /**
     *员工外呼SIM卡号码
     */
    public static final String SIM_PHONE = "call_records.cr_sim_phone";

     /**
     *员工外呼SIM卡的ICCID
     */
    public static final String SIM_NUMBER = "call_records.cr_sim_number";

     /**
     *响铃时长
     */
    public static final String RING_SECOND = "call_records.cr_ring_second";

     /**
     *开始响铃时间
     */
    public static final String RING_TIME = "call_records.cr_ring_time";

     /**
     *录音是否上传 0未上传 1已上传（未接通的通话显示为未上传)
     */
    public static final String IS_UPLOAD = "call_records.cr_is_upload";

     /**
     *开始通话的时间
     */
    public static final String START_CALL_TIME = "call_records.cr_start_call_time";

     /**
     *通话的来源
     */
    public static final String RECORD_FROM = "call_records.cr_record_from";

     /**
     *客户姓名
     */
    public static final String CUSTOMER_NAME = "call_records.cr_customer_name";

    public static final String TIMELINE_TYPE = "call_records.cr_timeline_type";

    public static final String THROUGH = "call_records.cr_through";

    public static final String PROGRESS = "call_records.cr_progress";

     /**
     *填充detail key
     */
    public static final String CALL_RECORDS_FULL_DETAIL_KEY = "CALL_RECORDS_FULL_DETAIL";

     /**
     *填充list key
     */
    public static final String CALL_RECORDS_FULL_LIST_KEY = "CALL_RECORDS_FULL_LIST";

    /**
     * 获取排序
     *
     * @return cr_sort_num - 排序
     */
    public Integer getSortNum() {
        return sortNum;
    }

    /**
     * 设置排序
     *
     * @param sortNum 排序
     */
    public CallRecords setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
        return this;
    }

    /**
     * 获取是否显示
     *
     * @return cr_show_flag - 是否显示
     */
    public Integer getShowFlag() {
        return showFlag;
    }

    /**
     * 设置是否显示
     * 1:是:Y,0:否:N
     *
     * @param showFlag 是否显示
     */
    public CallRecords setShowFlag(Integer showFlag) {
        this.showFlag = showFlag;
        return this;
    }

    /**
     * 获取是否删除
     *
     * @return cr_del_flag - 是否删除
     */
    public Integer getDelFlag() {
        return delFlag;
    }

    /**
     * 设置是否删除
     * 1:删除:Y,0:正常:N
     *
     * @param delFlag 是否删除
     */
    public CallRecords setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
        return this;
    }

    /**
     * 获取云客用户id
     *
     * @return cr_yk_user_id - 云客用户id
     */
    public String getYkUserId() {
        return ykUserId;
    }

    /**
     * 设置云客用户id
     *
     * @param ykUserId 云客用户id
     */
    public CallRecords setYkUserId(String ykUserId) {
        this.ykUserId = ykUserId == null ? null : ykUserId.trim();
        return this;
    }

    /**
     * 获取用户手机号
     *
     * @return cr_user_phone - 用户手机号
     */
    public String getUserPhone() {
        return userPhone;
    }

    /**
     * 设置用户手机号
     *
     * @param userPhone 用户手机号
     */
    public CallRecords setUserPhone(String userPhone) {
        this.userPhone = userPhone == null ? null : userPhone.trim();
        return this;
    }

    /**
     * 获取用户姓名
     *
     * @return cr_user_name - 用户姓名
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 设置用户姓名
     *
     * @param userName 用户姓名
     */
    public CallRecords setUserName(String userName) {
        this.userName = userName == null ? null : userName.trim();
        return this;
    }

    /**
     * 获取客户id
     *
     * @return cr_customer_id - 客户id
     */
    public String getCustomerId() {
        return customerId;
    }

    /**
     * 设置客户id
     *
     * @param customerId 客户id
     */
    public CallRecords setCustomerId(String customerId) {
        this.customerId = customerId == null ? null : customerId.trim();
        return this;
    }

    /**
     * 获取云客客户id
     *
     * @return cr_yk_customer_id - 云客客户id
     */
    public String getYkCustomerId() {
        return ykCustomerId;
    }

    /**
     * 设置云客客户id
     *
     * @param ykCustomerId 云客客户id
     */
    public CallRecords setYkCustomerId(String ykCustomerId) {
        this.ykCustomerId = ykCustomerId == null ? null : ykCustomerId.trim();
        return this;
    }

    /**
     * 获取云客通话id
     *
     * @return cr_yk_id - 云客通话id
     */
    public String getYkId() {
        return ykId;
    }

    /**
     * 设置云客通话id
     *
     * @param ykId 云客通话id
     */
    public CallRecords setYkId(String ykId) {
        this.ykId = ykId == null ? null : ykId.trim();
        return this;
    }

    /**
     * 获取客户id
     *
     * @return cr_phone - 客户id
     */
    public String getPhone() {
        return phone;
    }

    /**
     * 设置客户id
     *
     * @param phone 客户id
     */
    public CallRecords setPhone(String phone) {
        this.phone = phone == null ? null : phone.trim();
        return this;
    }

    /**
     * 获取用户id
     *
     * @return cr_user_id - 用户id
     */
    public String getUserId() {
        return userId;
    }

    /**
     * 设置用户id
     *
     * @param userId 用户id
     */
    public CallRecords setUserId(String userId) {
        this.userId = userId == null ? null : userId.trim();
        return this;
    }

    /**
     * 获取通话时长
     *
     * @return cr_duration - 通话时长
     */
    public Integer getDuration() {
        return duration;
    }

    /**
     * 设置通话时长
     *
     * @param duration 通话时长
     */
    public CallRecords setDuration(Integer duration) {
        this.duration = duration;
        return this;
    }

    /**
     * 获取通话录音下载地址
     *
     * @return cr_record_url - 通话录音下载地址
     */
    public String getRecordUrl() {
        return recordUrl;
    }

    /**
     * 设置通话录音下载地址
     *
     * @param recordUrl 通话录音下载地址
     */
    public CallRecords setRecordUrl(String recordUrl) {
        this.recordUrl = recordUrl == null ? null : recordUrl.trim();
        return this;
    }

    /**
     * 获取二级标签
     *
     * @return cr_tip_name - 二级标签
     */
    public String getTipName() {
        return tipName;
    }

    /**
     * 设置二级标签
     *
     * @param tipName 二级标签
     */
    public CallRecords setTipName(String tipName) {
        this.tipName = tipName == null ? null : tipName.trim();
        return this;
    }

    /**
     * 获取一级标签id（可自定义)
     *
     * @return cr_tip_type - 一级标签id（可自定义)
     */
    public String getTipType() {
        return tipType;
    }

    /**
     * 设置一级标签id（可自定义)
     *
     * @param tipType 一级标签id（可自定义)
     */
    public CallRecords setTipType(String tipType) {
        this.tipType = tipType == null ? null : tipType.trim();
        return this;
    }

    /**
     * 获取备注信息
     *
     * @return cr_remark - 备注信息
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注信息
     *
     * @param remark 备注信息
     */
    public CallRecords setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
        return this;
    }

    /**
     * 获取0呼出 1呼入 
     *
     * @return cr_direction - 0呼出 1呼入 
     */
    public Integer getDirection() {
        return direction;
    }

    /**
     * 设置0呼出 1呼入 
     *
     * @param direction 0呼出 1呼入 
     */
    public CallRecords setDirection(Integer direction) {
        this.direction = direction;
        return this;
    }

    /**
     * 获取预约下次沟通时间
     *
     * @return cr_next_contact_time - 预约下次沟通时间
     */
    public String getNextContactTime() {
        return nextContactTime;
    }

    /**
     * 设置预约下次沟通时间
     *
     * @param nextContactTime 预约下次沟通时间
     */
    public CallRecords setNextContactTime(String nextContactTime) {
        this.nextContactTime = nextContactTime == null ? null : nextContactTime.trim();
        return this;
    }

    /**
     * 获取员工外呼SIM卡号码
     *
     * @return cr_sim_phone - 员工外呼SIM卡号码
     */
    public String getSimPhone() {
        return simPhone;
    }

    /**
     * 设置员工外呼SIM卡号码
     *
     * @param simPhone 员工外呼SIM卡号码
     */
    public CallRecords setSimPhone(String simPhone) {
        this.simPhone = simPhone == null ? null : simPhone.trim();
        return this;
    }

    /**
     * 获取员工外呼SIM卡的ICCID
     *
     * @return cr_sim_number - 员工外呼SIM卡的ICCID
     */
    public String getSimNumber() {
        return simNumber;
    }

    /**
     * 设置员工外呼SIM卡的ICCID
     *
     * @param simNumber 员工外呼SIM卡的ICCID
     */
    public CallRecords setSimNumber(String simNumber) {
        this.simNumber = simNumber == null ? null : simNumber.trim();
        return this;
    }

    /**
     * 获取响铃时长
     *
     * @return cr_ring_second - 响铃时长
     */
    public Integer getRingSecond() {
        return ringSecond;
    }

    /**
     * 设置响铃时长
     *
     * @param ringSecond 响铃时长
     */
    public CallRecords setRingSecond(Integer ringSecond) {
        this.ringSecond = ringSecond;
        return this;
    }

    /**
     * 获取开始响铃时间
     *
     * @return cr_ring_time - 开始响铃时间
     */
    public Date getRingTime() {
        return ringTime;
    }

    /**
     * 设置开始响铃时间
     *
     * @param ringTime 开始响铃时间
     */
    public CallRecords setRingTime(Date ringTime) {
        this.ringTime = ringTime;
        return this;
    }

    /**
     * 获取录音是否上传 0未上传 1已上传（未接通的通话显示为未上传)
     *
     * @return cr_is_upload - 录音是否上传 0未上传 1已上传（未接通的通话显示为未上传)
     */
    public Integer getIsUpload() {
        return isUpload;
    }

    /**
     * 设置录音是否上传 0未上传 1已上传（未接通的通话显示为未上传)
     *
     * @param isUpload 录音是否上传 0未上传 1已上传（未接通的通话显示为未上传)
     */
    public CallRecords setIsUpload(Integer isUpload) {
        this.isUpload = isUpload;
        return this;
    }

    /**
     * 获取开始通话的时间
     *
     * @return cr_start_call_time - 开始通话的时间
     */
    public Date getStartCallTime() {
        return startCallTime;
    }

    /**
     * 设置开始通话的时间
     *
     * @param startCallTime 开始通话的时间
     */
    public CallRecords setStartCallTime(Date startCallTime) {
        this.startCallTime = startCallTime;
        return this;
    }

    /**
     * 获取通话的来源
     *
     * @return cr_record_from - 通话的来源
     */
    public Integer getRecordFrom() {
        return recordFrom;
    }

    /**
     * 设置通话的来源
     *
     * @param recordFrom 通话的来源
     */
    public CallRecords setRecordFrom(Integer recordFrom) {
        this.recordFrom = recordFrom;
        return this;
    }

    /**
     * 获取客户姓名
     *
     * @return cr_customer_name - 客户姓名
     */
    public String getCustomerName() {
        return customerName;
    }

    /**
     * 设置客户姓名
     *
     * @param customerName 客户姓名
     */
    public CallRecords setCustomerName(String customerName) {
        this.customerName = customerName == null ? null : customerName.trim();
        return this;
    }

    /**
     * 获取
     *
     * @return cr_timeline_type - 
     */
    public String getTimelineType() {
        return timelineType;
    }

    /**
     * 设置
     *
     * @param timelineType
     */
    public CallRecords setTimelineType(String timelineType) {
        this.timelineType = timelineType == null ? null : timelineType.trim();
        return this;
    }

    /**
     * 获取
     *
     * @return cr_through - 
     */
    public String getThrough() {
        return through;
    }

    /**
     * 设置
     *
     * @param through
     */
    public CallRecords setThrough(String through) {
        this.through = through == null ? null : through.trim();
        return this;
    }

    /**
     * 获取
     *
     * @return cr_progress - 
     */
    public Integer getProgress() {
        return progress;
    }

    /**
     * 设置
     *
     * @param progress
     */
    public CallRecords setProgress(Integer progress) {
        this.progress = progress;
        return this;
    }
}